home *** CD-ROM | disk | FTP | other *** search
- Path: news.larc.nasa.gov!amiga-request
- From: amiga-request@ab20.larc.nasa.gov (Amiga Sources/Binaries Moderator)
- Subject: v91i120: MemMometer 2.20 - memory gauge, Part01/02
- Reply-To: hull@hao.ucar.edu (Howard Hull)
- Newsgroups: comp.sources.amiga
- Message-ID: <comp.sources.amiga.v91i120@ab20.larc.nasa.gov>
- Date: 14 Jun 91 22:30:40 GMT
- Approved: tadguy@uunet.UU.NET (Tad Guy)
- X-Mail-Submissions-To: amiga@uunet.uu.net
- X-Post-Discussions-To: comp.sys.amiga.misc
-
- Submitted-by: hull@hao.ucar.edu (Howard Hull)
- Posting-number: Volume 91, Issue 120
- Archive-name: utilities/memometer-2.20/part01
-
- [ includes uuencoded executable and icons ...tad ]
-
- * MemMometer - A program hacked from Tom Rokicki's WFrags more or less...
- * (in fact, a heck of a lot) in the style of Peter Da Silva's "Gauge."
- * The program opens a narrow window with the same dimensions as the disk
- * capacity gadget found in the top-level workbench window for an Amiga
- * DOS v1.3 floppy volume. The sizing gadget is like the one in Gauge;
- * to resize the window, just click the left mouse button over the "E".
- * The "F" is the program title in this rather short manifestation of
- * an Amiga Intuition window drag bar.
-
- #!/bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 1 (of 2)."
- # Contents: 8ColorWB.uu 8ColorWb.note MM.info.uu MM.uu ReadMe2.2
- # ReadMe2.2.uu makefile mm.doc mm.doc.info.uu mm.h
- # Wrapped by tadguy@ab20 on Fri Jun 14 18:30:39 1991
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f '8ColorWB.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'8ColorWB.uu'\"
- else
- echo shar: Extracting \"'8ColorWB.uu'\" \(710 characters\)
- sed "s/^X//" >'8ColorWB.uu' <<'END_OF_FILE'
- Xbegin 644 8ColorWB.note.info
- XMXQ```0`````!60`9`"@`%``$``,``0`AK;``````````````````````````I
- XM````!"$`(:UX`````````54````.```````````````````````H`!0``P`"0
- XM@=C_```````````````____,```_J__/```_5__/P``@K__/\``P7__````_7
- XM___P```_`$@`?``______``X!`#`?``______``Y`(``?``______``X$`!`.
- XM?``______``______``___X`?``______``______`````````#____\``#`-
- XM```S``#````PP`#`4``P,`#*H``P#`#`0``__P#````/_P#``````P#`````(
- XM`P#``````P#``````P#``````P#``````P#``````P#``````P#``````P#`8
- XM`````P#``````P#``````P#______P#____\``#````S``#`*``PP`#````PX
- XM,`#*H``P#`#%0``__P#``````P#``````P#``````P#``````P#``````P#`H
- XM`````P#``````P#``````P#``````P#``````P#``````P#``````P#`````5
- X8`P#______P`````,.F,O375C:$UO<F4`V
- X``
- Xend
- Xsize 474
- END_OF_FILE
- if test 710 -ne `wc -c <'8ColorWB.uu'`; then
- echo shar: \"'8ColorWB.uu'\" unpacked with wrong size!
- fi
- # end of '8ColorWB.uu'
- fi
- if test -f '8ColorWb.note' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'8ColorWb.note'\"
- else
- echo shar: Extracting \"'8ColorWb.note'\" \(913 characters\)
- sed "s/^X//" >'8ColorWb.note' <<'END_OF_FILE'
- X
- X
- X With MemMometer version 2.2 19-May-1991, NOTE:
- X
- X The files needed for the 8-color Workbench are -
- X
- X WBD Fred Fish Disk #346 by Oliver Wagner
- X (The formerly used WBDepth utility crashes with AmigaDOS V2.0).
- X
- X Formerly required functions PopColours, SetColor and SavColor
- X are now provided from the Palette tool in the AmigaDOS V2.0
- X Prefs Drawer. It's good to see the Commodore Software engineers
- X are able to so quickly implement popularly approved PD tools
- X under the obviously more rigorous professional constraints of
- X a commercially marketed multitasking operating system... Thanks
- X CATS and MICE. (You all know about the CATS people (Commodore
- X Applications & Technical Support) The other one is Multitasking
- X Implementors for Commodore Engineering).
- X
- END_OF_FILE
- if test 913 -ne `wc -c <'8ColorWb.note'`; then
- echo shar: \"'8ColorWb.note'\" unpacked with wrong size!
- fi
- # end of '8ColorWb.note'
- fi
- if test -f 'MM.info.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'MM.info.uu'\"
- else
- echo shar: Extracting \"'MM.info.uu'\" \(1384 characters\)
- sed "s/^X//" >'MM.info.uu' <<'END_OF_FILE'
- Xbegin 644 MM.info
- XMXQ```0``````%``4`%(`&``$``,``0`BJG@`````````````````````````2
- XM`````R$``````````````!`````)``````````````````````!2`!@``P`"L
- XMA*C_``````````````````````````````````````!_X`````````````!GQ
- XMX`````````````!@8((```````````!AX,8```````````!AX.X\9CSL9@``(
- XM``!AX/YF=V9V9@````!AX-9^:V9F9@````!AX,9@8V9@/`````!F8,8\8SSPS
- XM&`````!GX```````<`````!F8`````````````!GX((````(``````!YX,8`%
- XM```8``````!^8.X\9CP^/.P```!^8/YF=V889G8```!F8-9F:WX8?F8```!^@
- XM8,9F8V`:8&````!X8,8\8SP,//````!F8`````````````!_X```````````_
- XM``!_X```````````````````````````````````````````````````````?
- XM```````````````````````?@``````````````>```````````````9@```6
- XM```````````?@``````````````9@``````````````>```````````````?U
- XM@``````````````>```````````````?@``````````````>````````````;
- XM```?@``````````````9@``````````````?@``````````````9@```````P
- XM```````'@``````````````?@``````````````9@``````````````'@```&
- XM```````````?@```````````````````````````````````````````````?
- XM```````````````````````````````````````````````8````````````8
- XM```9@``````````````?@``````````````&```````````````&````````$
- XM```````?@``````````````&```````````````?@``````````````'@```+
- XM```````````?@``````````````>```````````````?@``````````````?[
- XM@``````````````'@``````````````>```````````````?@```````````$
- XM```?@``````````````?@``````````````'@```````````````````````%
- X1`````````````````````````
- X``
- Xend
- Xsize 962
- END_OF_FILE
- if test 1384 -ne `wc -c <'MM.info.uu'`; then
- echo shar: \"'MM.info.uu'\" unpacked with wrong size!
- fi
- # end of 'MM.info.uu'
- fi
- if test -f 'MM.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'MM.uu'\"
- else
- echo shar: Extracting \"'MM.uu'\" \(23569 characters\)
- sed "s/^X//" >'MM.uu' <<'END_OF_FILE'
- Xbegin 644 MM
- XM```#\P`````````#``````````(```__```%U@````$```/I```/_T[Z.$!T3
- XM;W!A>BYF;VYT``!&`$Y5``!.NA<F3KH8TDZZ'I!.NB*43KHDV$ZZ)T).NBID^
- XM3KHNH$ZZ,C).NC7*3KHW[$Y=3G5.5?_Z#&W__P`,9@1.74YU,"T`#,!\`!\[8
- XM0/_^,"T`#.I(P'P`/SM`__PP+0`,<@OB:,!\`!\[0/_Z.7P``8`\<``P+?_^$
- XM8``&1'``,"W__&`>+RR!A$ZZ/U!83V`>+RR!A$ZZ/SA83V`20FR`.&`,2H!G'
- XMWE.`9^93@&?N8``&('``,"W__&!L<``P+?_Z8`Y";($F8!`Y?``!@2A@"$J`*
- XM9^Y3@&?P8%1P`#`M__I@,"E\`````8$J8#@I?`````*!*F`N*7P````%@2I@'
- XM)"E\````"H$J8!K_P/_*_]3_WK"\````!&0*XX`P.P#L3OL``&`(2H!GD%.`-
- XM9ZQ@``6@<``P+?_\8``!%BEL@3*!+F```1Y3K($N8``!%E*L@2Y@``$.*7S_R
- XM__^=@2XI;($N@3)@``#\*7S___^U@2XI;($N@3)@``#J*7S____.@2XI;($N'
- XM@3)@``#8*7S____G@2XI;($N@3)@``#&*7S____L@2XI;($N@3)@``"T*7S_L
- XM___Q@2XI;($N@3)@``"B*7S____V@2XI;($N@3)@``"0*7S____[@2XI;($N5
- XM@3)@?D*L@2XI;($N@3)@<BE\````!8$N*6R!+H$R8&(I?`````J!+BEL@2Z!L
- XM,F!2*7P````/@2XI;($N@3)@0BE\````%($N*6R!+H$R8#+^W/[F_N[^]O\(V
- XM_QK_+/\^_U#_8O]T_X3_D/^@_[#_P+"\````$&0*XX`P.P#43OL``&``!&QP8
- XM`#`M__Q@.$*L@39@1"E\``0``($V8#HI?``(``"!-F`P*7P`$```@39@)BE\^
- XM`"```($V8!S_N/^^_\C_TO_<L+P````%9`KC@#`[`.I.^P``8``$%G``,"W_@
- XM_&`L0JR!.F`X*7P`!```@3I@+BE\``@``($Z8"0I?``0``"!.F`:_\3_RO_4P
- XM_]ZPO`````1D"N.`,#L`[$[[``!@``/,#&P``8$F9@8Y?``!@2AP`#`M__Q@`
- XM``"&0JR!/F```)`I?``$``"!/F```(0I?``(``"!/F!X*7P`#```@3Y@;BE\6
- XM`!```($^8&0I?``8``"!/F!:*7P`(```@3Y@4"E\`#```($^8$8I?`!```"!=
- XM/F`\*7P`8```@3Y@,BE\`(```($^8"C_;/]T_X#_BO^4_Y[_J/^R_[S_QO_09
- XML+P````+9`KC@#`[`-Y.^P``8``#&@QL``&!)F8&.7P``8$H<``P+?_\8```J
- XMTBE\`"```(%"8```V"E\`"0``(%"8```S"E\`"@``(%"8```P"E\`"P``(%".
- XM8```M"E\`#```(%"8```J"E\`$```(%"8```G"E\`%```(%"8```D"E\`&``%
- XM`(%"8```A"E\`'```(%"8'@I?`"```"!0F!N*7P`D```@4)@9"E\`,```(%"Q
- XM8%HI?`#$``"!0F!0*7P`R```@4)@1BE\`,P``(%"8#PI?`#0``"!0F`R_R#_D
- XM+/\X_T3_4/]<_VC_=/^`_XK_E/^>_ZC_LO^\_\:PO````!!D"N.`,#L`U$[[/
- XM``!@``(<#&P``8$F9@8Y?``!@2AP`#`M__Q@``#.0JR!1F```-@I?``$``"!V
- XM1F```,PI?``(``"!1F```,`I?``,``"!1F```+0I?``0``"!1F```*@I?``@;
- XM``"!1F```)PI?``P``"!1F```)`I?`!```"!1F```(0I?`!@``"!1F!X*7P`H
- XM@```@49@;BE\"@```(%&8&0I?`#```"!1F!:*7P`T```@49@4"E\`.```(%&M
- XM8$8I?`#P``"!1F`\*7P!````@49@,O\D_RS_./]$_U#_7/]H_W3_@/^*_Y3_#
- XMGO^H_[+_O/_&L+P````09`KC@#`[`-1.^P``8``!(@QL``&!)F8&.7P``8$HY
- XM<``P+?_\8```TBE\`"```(%*8```V"E\`#```(%*8```S"E\`$```(%*8```>
- XMP"E\`%```(%*8```M"E\`&```(%*8```J"E\`(```(%*8```G"E\`'\``(%*'
- XM8```D"E\`'X``(%*8```A"E\!]```(%*8'@I?`?```"!2F!N*7P'H```@4I@=
- XM9"E\!X```(%*8%HI?`=@``"!2F!0*7P'0```@4I@1BE\!R```(%*8#PI?`<`8
- XM``"!2F`R_R#_+/\X_T3_4/]<_VC_=/^`_XK_E/^>_ZC_LO^\_\:PO````!!D5
- XM"N.`,#L`U$[[``!@)/FN^>3Z9/N8^^[\./SJ_>C^XK"\````"60*XX`P.P#B)
- XM3OL``&``^6Q.50``2FR!3F<``*H(+``$@4]G&"`L@$+E@"\`+RR!=$ZZ-W90%
- XM3P)L_^^!3@@L``.!3V<8("R`0N6`+P`O+(%P3KHW5E!/`FS_]X%.""P``H%/;
- XM9Q@@+(`^Y8`O`"\L@6Q.NC<V4$\";/_[@4X(+``!@4]G&"`L@#[E@"\`+RR!N
- XM:$ZZ-Q903P)L__V!3@@L``"!3V<8("R`0N.`+P`O+(%X3KHV]E!/`FS__H%.9
- XM0JR`/D*L@$).74YU3E4``"!M`!`Q?``)`!P@;0`0(6T`"``@(&T`$"%M``P`F
- XM)"\M`!!.NC=(6$].74YU3E4``$JL@`YG,B\L@!).NC=,6$\O+(`.3KHVMEA//
- XM+RR`"DZZ-+!83R\L@`I.NC7"6$\O+(`.3KHU1%A/2JR`!F<*+RR`!DZZ-)A8.
- XM3TJL@81G"B\L@81.NC>`6$]*K(`"9PHO+(`"3KHT>%A/3KK^JDAX`!1.NC)Z:
- XM6$].74YU3E4``$*G0J=.NC1H4$\I0(`.9@1.NO]L+RR`#DZZ-3Y83RE`@`IF%
- XM!$ZZ_UA"IR\L@`I(>``!2'H`.DZZ-CA/[P`02H!G!$ZZ_SH@;(`.<``0*``/Y
- XM<@'AH2E!@!(O+(`*0J=(>``!3KK^ZD_O``Q.74YU=&EM97(N9&5V:6-E``!.U
- XM50``""P`!(%/9Q@@+(!"Y8`O`"\L@71.NC684$\";/_O@4X(+``#@4]G&"`L_
- XM@$+E@"\`+RR!<$ZZ-7A03P)L__>!3@@L``"!3V<``,0@+(!"XX`O`"\L@7A.:
- XMNC564$\";/_^@4X@;(&$,"@`"DC`D+P````3*4"`1B!L@80P*``*2,"0O```N
- XM``HI0(!*("R`1E*`*4"`0DAX``$@+(!"XX`O`$ZZ--Y03RE`@7AG!@CL``"!J
- XM3TAX``$@+(!"Y8`O`$ZZ-,!03RE`@7!G!@CL``.!3TAX``$@+(!"Y8`O`$ZZ&
- XM-*)03RE`@71G!@CL``2!3PQL`!^!3F<(3KK]'D)L@#@@+(!*5(`Y0(!B0FR`9
- XM.DY=3G5.5?_X(&R!A"\H`%9.NC2P6$\I0(&(9U(@;(&(*V@`%/_\(&R!B#MHM
- XM`!C_^B!L@8@[:``:__A!^C3F0FR`3B`M__Q@\M__HO+?_\3KKV%EQ/8!0Y3
- XM?``!@#I@#%6`9_20O````/YGW&":3EU.=4Y5__AAC$*M__P@+?_\L*R`1FQHW
- XM2FR`.F9B("R`2I"M__PK0/_X("W__..`(&R!>'(`,C`(`"\!(&R!A"\H`#).,
- XMNC3H4$\O+?_X+RR!?"!L@80O*``R3KHTKD_O``PO+?_X+RR!@"!L@80O*``RW
- XM3KHTA$_O``Q2K?_\8(Y.74YU3E7__D)M__Y@%C`M__Y(P..`(&R!>#&\``<(H
- XM`%)M__XP+?_^2,"PK(!&;=Y.74YU3E4``$ZZ_MQ*;(`Z9CI(>``!(&R!A"\HW
- XM`#).NC1>4$\O+(!*+RR!@"`L@$J0K(!&4H`O`"\L@7P@;(&$+R@`,DZZ-"9/H
- XM[P`43EU.=4Y5``!(YPX@2JT`#F8*8:1,WP1P3EU.=4ZZ_VHL+0`.S+Q____^3
- XM*BT`"LJ\?____G@`8`X@!.6`(&R!<$*P"`!2A+BL@$9M['@`8```VB1%8!`@,
- XM!.6`(&R!<-'`(!*QD%B*(`70AK7`9>@@!.6`(&R!=$JP"`!G$"`$XX`@;(%X8
- XMT<`(:``"``$@!.6`(&R!<"($Y8$B;(%T)#`(`+2Q&`!F#B`$XX`@;(%XT<`"%
- XM4``$(`3E@"!L@7!*L`@`9@X@!..`(&R!>-'`"E``!B`$Y8`@;(%T#+#_____/
- XM"`!F#B`$XX`@;(%X,;P`!@@`(`3E@"!L@7`,L/____\(`&8.(`3C@"!L@7@QZ
- XMO``$"``@!.6`(&R!<"($Y8$B;(%T([`(`!@`VH92A+BL@$9M`/\B3KK]U&``W
- XM_MQ.5?_N2.</,$JM``YF#$ZZ_FY,WPSP3EU.=4ZZ_C)";?_Z,"W_^DC`Y8!!\
- XM[(%00K`(`#`M__I(P.6`0>R!7$*P"`!2;?_Z#&T``__Z;=1";?_Z8"0P+?_ZN
- XM2,#E@"!L@6A"L`@`,"W_^DC`Y8`@;(%L0K`(`%)M__HP+?_Z2,"PK(`^;=!^]
- XM`'P`0FW_[DZZ,60@;(&,)&@!0DJ29P``M`@J``$`#V<.0>R!4"H(.WP``?_PB
- XM8`I![(%<*@A";?_P#&T``?_P9@9*;0`(9PQ*;?_P9GA*;0`(;W(F:@`08&@@W
- XM12`H``2PK(`^;!0@12`H``12J``$Y8`B;(%H(XL(`"@K``0@12`H``BPK(`^2
- XM;!0@12`H``A2J``(Y8`B;(%L(X0(`"!%V9!*;?_N9A92AB`'Y8`@;(%H2K`(/
- XM`&8&.WP``?_N4H<F4R`+9I0D4F``_TI.NC$8.VR`0/_RO*R`/FP$.T;_\D)M'
- XM__I@``'Z,"W_^DC`Y8`@;(%HT<`@+0`*D9`P+?_Z2,#E@"!L@6S1P#`M__I(`
- XMP.6`(FR!:"(Q"`#3D#`M__I(P.6`(&R!:#(M__I(P>6!(FR!:"\`(#$8`"(?I
- XM+P$B+0`.)!].NBP:(8`H`#`M__I(P.6`(&R!;#(M__I(P>6!(FR!;"\`(#$8]
- XM`"(?+P$B+0`.)!].NBOJ(8`H`#`M__I(P.6`(&R!:$JP"`!D$#`M__I(P.6`H
- XM(&R!:$*P"``P+?_Z2,#E@"!L@6Q*L`@`9!`P+?_Z2,#E@"!L@6Q"L`@`,"W_S
- XM^DC`Y8`@;(%H(C`(`+*L@$9E%C`M__I(P.6`(&R!:"(L@$93@2&!"``P+?_ZU
- XM2,#E@"!L@6PB,`@`LJR`1F46,"W_^DC`Y8`@;(%L(BR`1E.!(8$(`#`M__I(+
- XMP.6`(&R!;#(M__I(P>6!(FR!:"0P"`"4L1@`2H)D'C`M__I(P.6`(&R!:#(MZ
- XM__I(P>6!(FR!;".P"``8`#`M__I(P.6`(&R!:#MP"`+_^#`M__I(P.6`(&R!*
- XM;#MP"`+_]C`M__I(P.6`(&R!;#(M__I(P>6!(FR!:"0P"`"4L1@`9A0P+?_X7
- XM2,#C@"!L@7C1P`)0``!@*#MM__C_]&`6,"W_]$C`XX`@;(%XT<`"4``"4FW_&
- XM]#`M__2P;?_V;>!2;?_Z,"W_^K!M__)M`/W^3KKZ7"ML@#[__"`M__RPAFP*)
- XM!JT````0__Q@[KRL@#YO``",("R`/N6`+P`O+(%H3KHN7%!/2'@``2`M__SEN
- XM@"\`3KHN'%!/*4"!:&8&`FS__8%.("R`/N6`+P`O+(%L3KHN+%!/2'@``2`M,
- XM__SE@"\`3KHM[%!/*4"!;&88("W__.6`+P`O+(%H3KHN`E!/`FS_^X%.#&P`)
- XM'X%.9PI.NO960FR`.&`&*6W__(`^8`#[\DY5_[Q!^@8"*4B`Q$'Z!A(I2(#8-
- XM0?H&)BE(@.Q"ITAZ!71.NBTL4$\I0(`&9P`$SDZZ[EA.NO:00FW_U$)LW
- XM@2A";($F*6R`&($J*6R`'($N2JR!+F\$0JR!+BEL@2Z!,BML@2[_[D*M_^HO<
- XM+?_J3KHL;%A/*T#_YB\M_^XO+?_F3KHM$E!/&T#_Y2`L@"!R"N.@*4"!-B`LS
- XM@"1R"N.@*4"!.B`L@"AR"N.@*4"!/B`L@"QR"N.@*4"!0@RL```!`(`P;0X@)
- XM+(`P<@KCH"E`@49@#"`L@#!R%..@*4"!1DJL@#1N&"`L@#1$@'(4XZ`B/`@`/
- XM``"2@"E!@4I@#"`L@#1R%..@*4"!2@QL``&`.&8``Z1*;(`\9P`!<$)L@#Q"D
- XM;?_>2JR!-F<&".T``/_?2JR!/F<&".T``?_?2JR!1F<&".T``O_?<``P+?_>6
- XM8``!*#M\``O_UCM\``+_W$)M_]I";?_8&7P``X!T8``!'#M\``O_UCM\``+_:
- XMW$)M_]I";?_80BR`=&```0`[?``+_]9";?_<.WP``O_:0FW_V!E\``:`=&``5
- XM`.([?``%_]8[?``"_]PP+?_<T&W_UE)`.T#_VD)M_]A"+(!T8```O#M\``O_\
- XMUD)M_]Q";?_:.WP``O_8&7P`!X!T8```GCM\``7_UCM\``+_W$)M_]HP+?_<K
- XMT&W_UE)`.T#_V!E\``:`=&!V.WP`!?_60FW_W#M\``+_VC`M_]K0;?_64D`[=
- XM0/_8&7P`!X!T8%`[?``#_]8[?``"_]PP+?_<T&W_UE)`.T#_VC`M_]K0;?_6R
- XM4D`[0/_80BR`=&`B_LK^Z/\$_R+_2/]F_XS_LK"\````"&0*XX`P.P#D3OL`?
- XM`"(L@$8@+($V3KHE_BM`_]`B+(!&("R!/DZZ)>XK0/_,(BR`1B`L@49.NB7>>
- XM*T#_R`QL``&!*&9*2JR!/F8&2JR!1F<^2'@`3TAX`3]"IT*G2&R!"$AL@/1(5
- XM;("X+RR!A$ZZ*QA/[P`@.4"!)DIL@29F$$*M_\Q"K($^0JW_R$*L@49P`#`M_
- XM_]1@6G``,"W_W"E`@7PK;($Z_\0K;?_0_\`K;($V_[Q@2'``,"W_VBE`@7PK^
- XM;(%"_\0K;?_,_\`K;($^_[Q@*G``,"W_V"E`@7PK;(%*_\0K;?_(_\`K;(%&:
- XM_[Q@#$J`9Z)3@&>\4X!GUG``,"W_UM"L@7PI0(&`#&P``8$H9@HY?``!@29"V
- XM;($H2JR!?&=,#&P``8`Z9@1.NO.>#&P``8$F9AHO+?_`+RW_Q#\M_]1.NO8$,
- XM3^\`"AE\``>`7$IL@29F&"\M_\`O+?_$/RW_U$ZZ]QI/[P`*0BR`7"`M_^ZPI
- XMK($N9RHK;($N_^Y"K?_J+RW_ZDZZ*-A83RM`_^8O+?_N+RW_YDZZ*7Y03QM`N
- XM_^4,;0`"_]1F;D*G2'C__$AL@'0@;(&$+R@`,DZZ*?Y/[P`02FR`3F]`+RR`W
- XM$DZZ*5A83RM`__(@+?_RP*R`$F<>+RR`#DZZ*+183R\L@`I(>0`!AJ!"ITZZ1
- XM\:)/[P`,3KKSW%-L@$Y@NG(*("R!*DZZ(]XY0(!.4FW_U`QM``/_U&4$0FW_6
- XMU`QL``&`.F8$3KKRF&``_%9*K(`.9S(O+(`23KHHY%A/+RR`#DZZ*$Y83R\LC
- XM@`I.NB9(6$\O+(`*3KHG6EA/+RR`#DZZ)MQ83TJL@`9G"B\L@`9.NB8P6$]*S
- XMK(&$9PHO+(&$3KHI&%A/2JR``F<*+RR``DZZ)A!83TZZ\$).74YU5T%23DE.4
- XM1R$@0U)!4T@@4$]34TE"3$4`345.52!-14U/4ED@4T5,14-424].4R!-55-4J
- XM`%)%1D5214Y#12!%6$E35$E.1R!-14U/4ED`4FES:R!)=`!2971R96%T`&ENW
- XM='5I=&EO;BYL:6)R87)Y`&=R87!H:6-S+FQI8G)A<GD``$Y5``!.74YU3E4`7
- XM`$Y=3G5.5?_\0FW__C`M__Y20#M`__PP+?_^P?P`(D'L@9`R+?_\P_P`(D/L[
- XM@9#2B2&!"``P+?_^P?P`(D'L@91"<`@`,"W__L'\`")![(&6,BW__L/\``DQ=
- XM@0@`,"W__L'\`")![(&8,;P`0`@`,"W__L'\`")![(&:,;P`"0@`,"W__L'\3
- XM`")![(&<,;P`4@@`,"W__L'\`")![(&>0K`(`#`M__[!_``B0>R!HC(M__[#:
- XM_``40^R!]M*)(8$(`#`M__[!_``B0>R!ID*P"``P+?_^P?P`(D'L@:I",`@`-
- XM,"W__L'\`")![(&L0K`(`#`M__[!_``B0>R!L$)P"``P+?_^P?P`%$'L@?9"O
- XM,`@`,"W__L'\`!1![('W$;P``0@`,"W__L'\`!1![('X$;P``0@`,"W__L'\<
- XM`!1![('Z0G`(`#`M__[!_``40>R!_#&\``$(`#`M__[!_``40>R!_D*P"``P"
- XM+?_^P?P`%$'L@@9"L`@`4FW__@QM``/__FT`_HI"K('40?H`&BE(@@)!^@`8T
- XM*4B"%D'Z`!4I2((J3EU.=49R;VYT`$)A8VL`475I=`!.5?_\0FW__C`M__Y2W
- XM0#M`__PP+?_^P?P`(D'L@C(R+?_\P_P`(D/L@C+2B2&!"``P+?_^P?P`(D'L9
- XM@C9"<`@`,"W__L'\`")![((X,BW__L/\``DQ@0@`,"W__L'\`")![((Z,;P`_
- XM+`@`,"W__L'\`")![((\,;P`"0@`,"W__L'\`")![((^,;P`4@@`,"W__L'\:
- XM`")![()`0K`(`#`M__[!_``B0>R"1#(M__[#_``40^R"=M*)(8$(`#`M__[!M
- XM_``B0>R"2$*P"``P+?_^P?P`(D'L@DQ",`@`,"W__L'\`")![()20G`(`#`M.
- XM__[!_``40>R"=D(P"``P+?_^P?P`%$'L@G<1O``!"``P+?_^P?P`%$'L@G@1W
- XMO``!"``P+?_^P?P`%$'L@GI"<`@`,"W__L'\`!1![()\,;P``0@`,"W__L'\V
- XM`!1![()^0K`(`#`M__[!_``40>R"AD*P"`!2;?_^#&T``O_^;0#^FD*L@E1!3
- XM^@0$*4B"@D'L@IXI2().0?H#^2E(@I9![(,**4B"<$)M__XP+?_^4D`[0/_\P
- XM,"W__L'\`")![(*>,BW__,/\`")#[(*>THDA@0@`,"W__L'\`")![(*B,;P`,
- XM)@@`,"W__L'\`")![(*D,BW__L/\``DQ@0@`,"W__L'\`")![(*F,;P`2`@`C
- XM,"W__L'\`")![(*H,;P`"0@`,"W__L'\`")![(*J,;P`4P@`<`$R+?_^XV!&^
- XM0$C`,BW__L/\`")![(*L(8`8`#`M__[!_``B0>R"L#(M__[#_``40^R"XM*).
- XM(8$(`#`M__[!_``B0>R"M$*P"``P+?_^P?P`(D'L@KA",`@`,"W__L'\`")!4
- XM[(*Z0K`(`#`M__[!_``B0>R"OD)P"``P+?_^P?P`%$'L@N)",`@`,"W__L'\/
- XM`!1![(+C$;P``0@`,"W__L'\`!1![(+D$;P``0@`,"W__L'\`!1![(+F0G`(*
- XM`#`M__[!_``40>R"Z#&\``$(`#`M__[!_``40>R"ZD*P"``P+?_^P?P`%$'L.
- XM@O)"L`@`4FW__@QM``+__FT`_GQ"K(+`,"R`%DC`8!I";?_^8!X[?``!__Y@L
- XM%CM\``'__D)L@!9@"DJ`9^)3@&?D8.HP+?_^P?P`(D'L@JK1P`C0``!!^@(B.
- XM*4B"[D'Z`B,I2(,"0FW__C`M__Y20#M`__PP+?_^P?P`(D'L@PHR+?_\P_P`1
- XM(D/L@PK2B2&!"``P+?_^P?P`(D'L@PXQO``F"``P+?_^P?P`(D'L@Q`R+?_^*
- XMP_P`"3&!"``P+?_^P?P`(D'L@Q(QO`!8"``P+?_^P?P`(D'L@Q0QO``)"``PU
- XM+?_^P?P`(D'L@Q8QO`!3"`!P`3(M__[C8$9`2,`R+?_^P_P`(D'L@Q@A@!@`S
- XM,"W__L'\`")![(,<,BW__L/\`!1#[(.2THDA@0@`,"W__L'\`")![(,@0K`(`
- XM`#`M__[!_``B0>R#)$(P"``P+?_^P?P`(D'L@R9"L`@`,"W__L'\`")![(,JC
- XM0G`(`#`M__[!_``40>R#DD(P"``P+?_^P?P`%$'L@Y,1O``!"``P+?_^P?P`\
- XM%$'L@Y01O``!"``P+?_^P?P`%$'L@Y9"<`@`,"W__L'\`!1![(.8,;P``0@`"
- XM,"W__L'\`!1![(.:0K`(`#`M__[!_``40>R#HD*P"`!2;?_^#&T`!/_^;0#^'
- XM?$*L@W`@+(`88"Y";?_^8#H[?``!__Y@,CM\``+__F`J.WP``__^8"([?``!-
- XM__XI?`````*`&&`24X!GSE.`9]!7@&?46X!GV>,"W__L'\`")![(,6T<`("
- XMT```0?H`/BE(@YY!^@!!*4B#LD'Z`$0I2(/&0?H`1RE(@]I.74YU36]D90!&_
- XM<F5Q`"`@($9R86=S`"`@(%=A<G!S`"`@("`Q(%-E8R``("`@(#(@4V5C<P`@4
- XM("`@-2!396-S`"`@(#$P(%-E8W,`3E7__$)M__XP+?_^4D`[0/_\,"W__L'\U
- XM`")![(/B,BW__,/\`")#[(/BTHDA@0@`,"W__L'\`")![(/F0G`(`#`M__[!L
- XM_``B0>R#Z#(M__[#_``),8$(`#`M__[!_``B0>R#ZC&\`%`(`#`M__[!_``BE
- XM0>R#[#&\``D(`#`M__[!_``B0>R#[C&\`%,(`'`!,BW__N-@1D!(P#(M__[#V
- XM_``B0>R#\"&`&``,;0`#__YL%#`M__[!_``B0>R#\-'``I`````'#&T``?_^J
- XM;!0P+?_^P?P`(D'L@_#1P`"0````!S`M__[!_``B0>R#]#(M__[#_``40^R&"
- XM`M*)(8$(`#`M__[!_``B0>R#^$*P"``P+?_^P?P`(D'L@_Q",`@`,"W__L'\8
- XM`")![(0"0G`(`#`M__[!_``40>R&`D(P"``P+?_^P?P`%$'LA@,1O``!"``,L
- XM;0`+__YO)#`M__[!_``40>R&`A&\``,(`#`M__[!_``40>R&`Q&\``4(`#`M8
- XM__[!_``40>R&!!&\``$(`#`M__[!_``40>R&!D)P"``P+?_^P?P`%$'LA@@Q0
- XMO``!"``P+?_^P?P`%$'LA@I"L`@`,"W__L'\`!1![(820K`(`%)M__X,;0`06
- XM__YM`/XJ0JR%X"`L@!Q@``"&.WP``__^8```SCM\``3__F```,0[?``%__Y@-
- XM``"Z.WP`!O_^8```L#M\``?__F```*8[?``(__Y@``"<.WP`"?_^8```DCM\C
- XM``K__F```(@[?``+__Y@?CM\``S__F!V.WP`#?_^8&X[?``.__Y@9CM\``__^
- XM_F!>.WP`"__^0JR`'&!2D+S___^=9P#_=)"\````&&<`_W20O````!EG`/]TT
- XMD+P````99P#_=%N`9P#_>%N`9P#_?%N`9X!;@&>&6X!GC%N`9Y!;@&>46X!GW
- XMF%N`9YQ@HC`M__[!_``B0>R#[M'`"-```$'Z`((I2(8.0?H`A2E(AB)!^@"(6
- XM*4B&-D'Z`(LI2(9*0?H`CBE(AEY!^@"1*4B&<D'Z`)0I2(:&0?H`ERE(AII!W
- XM^@":*4B&KD'Z`)TI2(;"0?H`H"E(AM9!^@"C*4B&ZD'Z`*8I2(;^0?H`J2E(<
- XMAQ)!^@"L*4B')D'Z`*\I2(<Z3EU.=2`@($Y/4DT@("``("`@1$5#4B`@(``@B
- XM("!)3D-2("`@`"`@("TY.2`@("``("`@+3<U("`@(``@("`M-3`@("`@`"`@V
- XM("TR-2`@("``("`@+3(P("`@(``@("`M,34@("`@`"`@("TQ,"`@("``("`@D
- XM+34@("`@(``@("`@,"`@("`@`"`@("`U("`@("``("`@(#$P("`@(``@("`@(
- XM,34@("`@`"`@("`R,"`@("``3E7__$)M__XP+?_^4D`[0/_\,"W__L'\`")!N
- XM[(=",BW__,/\`")#[(="THDA@0@`,"W__L'\`")![(=&0G`(`#`M__[!_``B3
- XM0>R'2#(M__[#_``),8$(`#`M__[!_``B0>R'2C&\`%`(`#`M__[!_``B0>R'#
- XM3#&\``D(`#`M__[!_``B0>R'3C&\`%,(`'`!,BW__N-@1D!(P#(M__[#_``BH
- XM0>R'4"&`&``P+?_^P?P`(D'LAU0R+?_^P_P`%$/LA^S2B2&!"``P+?_^P?P`K
- XM(D'LAUA"L`@`,"W__L'\`")![(=<0C`(`#`M__[!_``B0>R'8D)P"``P+?_^.
- XMP?P`%$'LA^Q",`@`,"W__L'\`!1![(?M$;P``0@`,"W__L'\`!1![(?N$;P`G
- XM`0@`,"W__L'\`!1![(?P0G`(`#`M__[!_``40>R'\C&\``$(`#`M__[!_``4$
- XM0>R']$*P"``P+?_^P?P`%$'LA_Q"L`@`4FW__@QM``7__FT`_HY"K(?*("R`R
- XM(&`V0FW__F!6.WP``?_^8$X[?``"__Y@1CM\``/__F`^.WP`!/_^8#8[?``"S
- XM__XI?````@"`(&`F2H!GQI"\```!`&?$D+P```$`9\20O````@!GQ)"\```$Z
- XM`&?$8,HP+?_^P?P`(D'LAT[1P`C0``!!^@`J*4B'^$'Z`"HI2(@,0?H`*BE(.
- XMB"!!^@`J*4B(-$'Z`"HI2(A(3EU.=2`@($Y/3D4`("`@,C4V2P`@("`U,3)+I
- XM`"`@(#$@34(`("`@,B!-0@!.5?_\0FW__C`M__Y20#M`__PP+?_^P?P`(D'L3
- XMB%`R+?_\P_P`(D/LB%#2B2&!"``P+?_^P?P`(D'LB%1"<`@`,"W__L'\`")!5
- XM[(A6,BW__L/\``DQ@0@`,"W__L'\`")![(A8,;P`4`@`,"W__L'\`")![(A:[
- XM,;P`"0@`,"W__L'\`")![(A<,;P`4P@`<`$R+?_^XV!&0$C`,BW__L/\`")!L
- XM[(A>(8`8`#`M__[!_``B0>R(8C(M__[#_``40^R)'-*)(8$(`#`M__[!_``B<
- XM0>R(9D*P"``P+?_^P?P`(D'LB&I",`@`,"W__L'\`")![(AP0G`(`#`M__[!:
- XM_``40>R)'$(P"``P+?_^P?P`%$'LB1T1O``!"``P+?_^P?P`%$'LB1X1O``!]
- XM"``P+?_^P?P`%$'LB2!"<`@`,"W__L'\`!1![(DB,;P``0@`,"W__L'\`!1!H
- XM[(DD0K`(`#`M__[!_``40>R)+$*P"`!2;?_^#&T`!O_^;0#^CD*LB/H@+(`DK
- XM8#A";?_^8&`[?``!__Y@6#M\``+__F!0.WP``__^8$@[?``$__Y@0#M\``7_)
- XM_F`X0FW__D*L@"1@+DJ`9\20O````0!GPI"\```!`&?"D+P```$`9\*0O```%
- XM`0!GPI"\```"`&?"8,@P+?_^P?P`(D'LB%S1P`C0``!!^@`R*4B)*$'Z`#0IC
- XM2(D\0?H`-BE(B5!!^@`X*4B)9$'Z`#HI2(EX0?H`/"E(B8Q.74YU("`@0"`@+
- XM(#!+`"`@($`@,C4V2P`@("!`(#4Q,DL`("`@0"`W-CA+`"`@($`@,2XP30`@2
- XM("!`(#$N-4T`3E7__$)M__XP+?_^4D`[0/_\,"W__L'\`")![(F4,BW__,/\)
- XM`")#[(F4THDA@0@`,"W__L'\`")![(F80G`(`#`M__[!_``B0>R)FC(M__[#<
- XM_``),8$(`#`M__[!_``B0>R)G#&\`%`(`#`M__[!_``B0>R)GC&\``D(`#`MW
- XM__[!_``B0>R)H#&\`%,(`'`!,BW__N-@1D!(P#(M__[#_``B0>R)HB&`&``P6
- XM+?_^P?P`(D'LB:8R+?_^P_P`%$/LBPK2B2&!"``P+?_^P?P`(D'LB:I"L`@`P
- XM,"W__L'\`")![(FN0C`(`#`M__[!_``B0>R)M$)P"``P+?_^P?P`%$'LBPI"C
- XM,`@`,"W__L'\`!1![(L+$;P``0@`,"W__L'\`!1![(L,$;P``0@`,"W__L'\8
- XM`!1![(L.0G`(`#`M__[!_``40>R+$#&\``$(`#`M__[!_``40>R+$D*P"``P<
- XM+?_^P?P`%$'LBQI"L`@`4FW__@QM``O__FT`_HY"K(KH("R`*&!N0FW__F``K
- XM`+X[?``!__Y@``"T.WP``O_^8```JCM\``/__F```*`[?``$__Y@``"6.WP`C
- XM!?_^8```C#M\``;__F```(([?``'__Y@>#M\``C__F!P.WP`"?_^8&@[?``*O
- XM__Y@8$)M__Y"K(`H8%9*@&>.D+P```$`9XZ0O````0!GD)"\```!`&>2D+P`,
- XM``$`9Y20O````@!GEI"\```"`&>8D+P```0`9YJ0O```!`!GFI"\```(`&>:+
- XMD+P```@`9YI@H#`M__[!_``B0>R)H-'`"-```$'Z`%HI2(L60?H`7"E(BRI!R
- XM^@!>*4B+/D'Z`&`I2(M20?H`8BE(BV9!^@!D*4B+>D'Z`&8I2(N.0?H`:"E(.
- XMBZ)!^@!J*4B+MD'Z`&PI2(O*0?H`;BE(B]Y.74YU("`@3D].12`@`"`@("XRR
- XM-2!-0@`@("`N-2`@34(`("`@+C<U($U"`"`@(#$N,"!-0@`@("`Q+C4@34(`@
- XM("`@,BXP($U"`"`@(#,N,"!-0@`@("`T+C`@34(`("`@-BXP($U"`"`@(#@N)
- XM,"!-0@!.5?_\0FW__C`M__Y20#M`__PP+?_^P?P`(D'LB^8R+?_\P_P`(D/L,
- XMB^;2B2&!"``P+?_^P?P`(D'LB^I"<`@`,"W__L'\`")![(OL,BW__L/\``DQ]
- XM@0@`,"W__L'\`")"\```!`&<`_TB0O````0!G`/](D+P```0`9P#_6
- XM2)"\```$`&<`_TB0O```!`!G`/](D+P```0`9P#_2)"\```$`&<`_TB0O```,
- XM!`!G`/](D+P```P`9P#_2)"\```!`&<`_TB0O````0!G`/](D+P```$`9P#_A
- XM2)"\```!`&<`_TA@`/].,"W__L'\`")![(ORT<`(T```0?H`@BE(CA)!^@"',
- XM*4B.)D'Z`(PI2(XZ0?H`D2E(CDY!^@"6*4B.8D'Z`)LI2(YV0?H`H"E(CHI!@
- XM^@"E*4B.GD'Z`*HI2(ZR0?H`KRE(CL9!^@"T*4B.VD'Z`+DI2([N0?H`OBE(4
- XMCP)!^@##*4B/%D'Z`,@I2(\J0?H`S2E(CSY.74YU("`@0"`R+C`@365G`"`@/
- XM($`@,BXT($UE9P`@("!`(#(N."!-96<`("`@0"`R+D,@365G`"`@($`@,RXP+
- XM($UE9P`@("!`(#0N,"!-96<`("`@0"`U+C`@365G`"`@($`@-BXP($UE9P`@]
- XM("!`(#<N,"!-96<`("`@0"`X+C`@365G`"`@($`@.2XP($UE9P`@("!`($,N^
- XM,"!-96<`("`@0"!#+C0@365G`"`@($`@0RXX($UE9P`@("!`($,N0R!-96<`6
- XM("`@0"!$+C`@365G`$Y5__Q";?_^,"W__E)`.T#__#`M__[!_``B0>R/1C(MA
- XM__S#_``B0^R/1M*)(8$(`#`M__[!_``B0>R/2D)P"``P+?_^P?P`(D'LCTPR1
- XM+?_^P_P`"3&!"``P+?_^P?P`(D'LCTXQO`!0"``P+?_^P?P`(D'LCU`QO``)O
- XM"``P+?_^P?P`(D'LCU(QO`!3"`!P`3(M__[C8$9`2,`R+?_^P_P`(D'LCU0AC
- XM@!@`,"W__L'\`")![(]8,BW__L/\`!1#[)%FTHDA@0@`,"W__L'\`")![(]<0
- XM0K`(`#`M__[!_``B0>R/8$(P"``P+?_^P?P`(D'LCV9"<`@`,"W__L'\`!1!*
- XM[)%F0C`(`#`M__[!_``40>R19Q&\``$(`#`M__[!_``40>R1:!&\``$(`#`M'
- XM__[!_``40>R1:D)P"``P+?_^P?P`%$'LD6PQO``!"``P+?_^P?P`%$'LD6Y"4
- XML`@`,"W__L'\`!1![)%V0K`(`%)M__X,;0`0__YM`/Z.0JR11"`L@#!@``"B-
- XM0FW__F```/([?``!__Y@``#H.WP``O_^8```WCM\``/__F```-0[?``$__Y@R
- XM``#*.WP`!?_^8```P#M\``;__F```+8[?``'__Y@``"L.WP`"/_^8```HCM\O
- XM``G__F```)@[?``*__Y@``"..WP`"__^8```A#M\``S__F!Z.WP`#?_^8'([U
- XM?``.__Y@:CM\``___F!B0FW__D*L@#!@6$J`9P#_7%.`9P#_?%.`9X!3@&>&3
- XM4X!GC%6`9Y)5@&>858!GGE6`9Z13@&>J4X!GKE.`9[)3@&>VD+P```#P9P#_L
- XM*)"\```!`&<`_RB0O````/1G`/\H8)XP+?_^P?P`(D'LCU+1P`C0``!!^@""\
- XM*4B1<D'Z`((I2)&&0?H`@BE(D9I!^@""*4B1KD'Z`((I2)'"0?H`@BE(D=9!6
- XM^@""*4B1ZD'Z`((I2)'^0?H`@BE(DA)!^@""*4B2)D'Z`((I2)(Z0?H`@BE(%
- XMDDY!^@""*4B28D'Z`((I2))V0?H`@BE(DHI!^@""*4B2GDY=3G4@("!.3TY%>
- XM`"`@(#(U-DL`("`@-3$R2P`@("`W-39+`"`@(#$@34(`("`@,B!-0@`@("`SL
- XM($U"`"`@(#0@34(`("`@-B!-0@`@("`X($U"`"`@,3`@34(`("`Q,B!-0@`@`
- XM(#$S($U"`"`@,30@34(`("`Q-2!-0@`@(#$V($U"`$Y5__Q";?_^,"W__E)`H
- XM.T#__#`M__[!_``B0>R2IC(M__S#_``B0^R2IM*)(8$(`#`M__[!_``B0>R2S
- XMJD)P"``P+?_^P?P`(D'LDJPR+?_^P_P`"3&!"``P+?_^P?P`(D'LDJXQO`!0)
- XM"``P+?_^P?P`(D'LDK`QO``)"``P+?_^P?P`(D'LDK(QO`!3"`!P`3(M__[C0
- XM8$9`2,`R+?_^P_P`(D'LDK0A@!@`,"W__L'\`")![)*X,BW__L/\`!1#[)3&_
- XMTHDA@0@`,"W__L'\`")![)*\0K`(`#`M__[!_``B0>R2P$(P"``P+?_^P?P`\
- XM(D'LDL9"<`@`,"W__L'\`!1![)3&0C`(`#`M__[!_``40>R4QQ&\``$(`#`MS
- XM__[!_``40>R4R!&\``$(`#`M__[!_``40>R4RD)P"``P+?_^P?P`%$'LE,PQ&
- XMO``!"``P+?_^P?P`%$'LE,Y"L`@`,"W__L'\`!1![)360K`(`%)M__X,;0`0Z
- XM__YM`/Z.0JR4I"`L@#1@``#80FW__F```.@[?``!__Y@``#>.WP``O_^8```1
- XMU#M\``/__F```,H[?``$__Y@``#`.WP`!?_^8```MCM\``;__F```*P[?``'@
- XM__Y@``"B.WP`"/_^8```F#M\``G__F```(X[?``*__Y@``"$.WP`"__^8'H[4
- XM?``,__Y@<CM\``W__F!J.WP`#O_^8&([?``/__Y@6CM\``;__BE\_____X`TR
- XM8$K_H/^H_YC_J/^0_ZC_B/^H_X#_J/]V_ZC_;/]B_UC_3O^H_ZC_%/\<_R;_D
- XM,/\Z_ZC_1)"\____\+"\````&62PXX`P.P"\3OL``#`M__[!_``B0>R2LM'`S
- XM"-```$'Z`((I2)320?H`@RE(E.9!^@"$*4B4^D'Z`(4I2)4.0?H`ABE(E2)!1
- XM^@"'*4B5-D'Z`(@I2)5*0?H`B2E(E5Y!^@"**4B5<D'Z`(LI2)6&0?H`C"E(_
- XME9I!^@"-*4B5KD'Z`(XI2)7"0?H`CRE(E=9!^@"0*4B5ZD'Z`)$I2)7^3EU.F
- XM=2`@($`@,B!-`"`@($`@,R!-`"`@($`@-"!-`"`@($`@-2!-`"`@($`@-B!-:
- XM`"`@($`@."!-`"`@($`W9B!-`"`@($`W92!-`"`@($`W9"!-`"`@($`W8R!-'
- XM`"`@($`W82!-`"`@($`W."!-`"`@($`W-B!-`"`@($`W-"!-`"`@($`W,B!-)
- XM`"`@($`W,"!-`$Y5``!![)8D*4B6!D)LE@I";)8,.7P`0)8..7P`"I80.7P`<
- XM`9820?H!KBE(EA1![(&0*4B6&$'LED(I2)8D.7P`0)8H0FR6*CE\`#"6+#E\X
- XM``J6+CE\``&6,$'Z`8(I2)8R0>R",BE(EC9![)9@*4B60CE\`'"61D)LED@Y1
- XM?`!(EDHY?``*EDPY?``!EDY!^@%4*4B64$'L@^(I2)940>R6?BE(EF`Y?`"X(
- XMEF1";)9F.7P`4)9H.7P`"I9J.7P``99L0?H!*2E(EFY![(="*4B6<D'LEIPIO
- XM2)9^.7P!"):"0FR6A#E\`%"6ACE\``J6B#E\``&6BD'Z`/\I2):,0>R(4"E(1
- XMEI!![):Z*4B6G#E\`5B6H$)LEJ(Y?`!`EJ0Y?``*EJ8Y?``!EJA!^@#5*4B6E
- XMJD'LB90I2):N0>R6V"E(EKHY?`&8EKY";);`.7P`0);".7P`"I;$.7P``9;&C
- XM0?H`J2E(ELA![(OF*4B6S$'LEO8I2);8.7P!V);<0FR6WCE\`%"6X#E\``J6N
- XMXCE\``&6Y$'Z`'TI2);F0>R/1BE(ENI"K);V.7P"*);Z0FR6_#E\`%"6_CE\A
- XM``J7`#E\``&7`D'Z`%<I2)<$0>R2IBE(EPA.74YU4')O:F5C=`!3971U<`!0I
- XM<FEO<FET>0!#:&EP(%-I>F4`0VAI<"!!9&1R`%-&(%-I>F4`4T8@061D<@!&^
- XM87-T(%-I>F4`1F%S="!!9&1R``!.50``2&R6!B\L@81.N@>:4$].74YU87!#)
- XM[($F1>R!)K7)9@XR/`6,:PAT`"+"4<G__"E/EQ0L>``$*4Z!C$CG@(`(+@`$T
- XM`2EG$$OZ``A.KO_B8`9"I_-?3G-#^@`@3J[^:"E`EQAF#"X\``.`!TZN_Y1@9
- XM!$ZZ`!I03TYU9&]S+FQI8G)A<GD`2?D``'_^3G5.50``+PI(>0`!```P+($<*
- XMP?P`!B\`3KH%@BE`EQQ03V840J=(>0`!``!.N@.D4$\N;)<43G4@;)<<0F@`@
- XM!"!LEQPQ?``!`!`@;)<<,7P``0`*(&R7%"`LEQ20J``$4(`I0)<@(&R7(""\Q
- XM34%.6$*G3KH%.B1`2JH`K%A/9RXO+0`,+RT`""\*3KK=Z#E\``&7)"!LEQP`F
- XM:(````0@;)<<`&B````*3^\`#&!"2&H`7$ZZ!<I(:@!<3KH%+BE`ER8@;)<FF
- XM2J@`)%!/9Q`@;)<F(F@`)"\13KH"OEA/+RR7)B\*3KK=EBELER:7*E!/3KH":
- XMLB!LEQP@@$ZZ`KX@;)<<(4``!F<62'@#[4AZ`"I.N@*:(&R7'"%```Q03R\LB
- XMERH_+)<N3KK6PD)G3KH`V%!/)%].74YU*@!(YW``-`'$P"8!2$/&P$A#0D/4(
- XM@TA`P,%(0$)`T(),WP`.3G5(YT@`0H1*@&H$1(!21$J!:@9$@0I$``%A/DI$O
- XM9P)$@$S?`!)*@$YU2.=(`$*$2H!J!$2`4D1*@6H"1(%A&B`!8-@O`6$2(`$B\
- XM'TJ`3G4O`6$&(A]*@$YU2.<P`$A!2D%F($A!-@$T`$)`2$"`PR(`2$`R`H+#N
- XM,`%"04A!3-\`#$YU2$$F`2(`0D%(04A`0D!T#]"`TX&V@6($DH-20%'*__),B
- XMWP`,3G5.50``2JR7,&<&(&R7,$Z0/RT`"$ZZ``A43TY=3G5.5?_\+P0P+0`(W
- XM2,`K0/_\2JR7'&<H>`!@"C\$3KH`_E1/4D2X;($<;?`P+($<P?P`!B\`+RR7%
- XM'$ZZ`VQ03TJLES1G!B!LES1.D$JL@2)G"B\L@2).N@%(6$]*K)<X9P@@;)<XD
- XM(*R7/$JLET!G"B\LET!.N@%B6$]*K)=$9PHO+)=$3KH!4EA/2JR72&<*+RR73
- XM2$ZZ`4)83TJLETQG"B\LETQ.N@$R6$\L>``$""X`!`$I9Q0O#4OZ``I.KO_B3
- XM*E]@!D*G\U].<TJLER9F,$JLEU!G*#`LEU1(P"\`+RR74$ZZ`L0P+)<N4D!(I
- XMP.6`+P`O+)<J3KH"L$_O`!!@#DZZ`IHO+)<F3KH#'EA/("W__"YLEQ1.=2@?)
- XM3EU.=4Y5``!(YPX@."T`"#`$P?P`!B1`U>R7'$I$;0JX;($<;`1*DF80.7P`G
- XM`I=6</],WP1P3EU.=0@J``<`!&8(+Q).N@`*6$]"DG``8.(B+P`$+&R7&$[NN
- XM_]PB+P`$+&R7&$[N_X(L;)<83N[_RDSO``8`!"QLEQA.[O_B+&R7&$[N_\1.]
- XM^@`"(B\`!"QLEQA.[O^F2.<!!$SO((``#"QL@8Q.KO^43-\@@$YU(F\`!"QL#
- XM@8Q.[OX^3OH``B)O``0L;(&,3N[^8DY5``!(YP@@2'C__TZZ`-`H`+"\____&
- XM_UA/9@IP`$S?!!!.74YU2'D``0`!2'@`(DZZ`6`D0$J`4$]F#"\$3KH!E'```
- XM6$]@UB5M``@`"A5M``\`"15\``0`"$(J``X51``/0J=.N@$^)4``$$JM``A86
- XM3V<*+PI.N@!:6$]@"DAJ`!1.N@%L6$\@"F"23E4``"\*)&T`"$JJ``IG""\*%
- XM3KH!E%A/%7P`_P`()7S_____`!1P`!`J``\O`$ZZ`1A(>``B+PI.N@#Z3^\`Q
- XM#"1?3EU.=2)O``0L;(&,3N[^GB`O``0L;(&,3N[^MDY5``!(>``P+RT`"$ZZV
- XM`!I03TY=3G5.50``+RT`"$ZZ`$Q83TY=3G5.50``+PI*K0`(9@AP`"1?3EU.,
- XM=4AY``$``2\M``Q.N@!@)$!*@%!/9@1P`@%7P`!0`(-6T`#@`2)6T`"``.W
- XM(`I@RDY5```O"B1M``@@"F8&)%].74YU%7P`_P`()7S_____`!0E?/____\`V
- XM&'``,"H`$B\`+PI.N@`T4$]@TD[Z``),[P`#``0L;(&,3N[_.D[Z``(B;P`$N
- XM+&R!C$[N_MI.^@`"+&R!C$[N_WQ.^@`"(F\`!"`O``@L;(&,3N[_+B`O``0LB
- XM;(&,3N[^L$[Z``(@;P`$+&R!C$[N_HP@;P`$((A8D$*H``0A2``(3G4@;P`$#
- XM3.\"`0`((B\`$"QL@8Q.[OY$3OH``BQL@8PB;P`$("\`"$[N_=@L;(&,3N[_6
- XM=B)O``0L;(&,3N[^F$[Z``(B;P`$+&R!C$[N_H8B;P`$+&R!C$[N_C(B;P`$!
- XM("\`""QL@8Q.[O[4("\`!"QL@8Q.[O["(&\`!"QL@8Q.[OZ`(F\`!$SO``,`#
- XM""QL@`9.[O\*(F\`!$SO``,`""QL@`9.[O\0(F\`!$SO``\`""QL@`9.[O[.\
- XM(F\`!"`O``@L;(`&3N[^JDCG`#!,[P\```Q,[P`/`!PL;(`"3J[^I$S?#`!.&
- XM=2!O``0L;(`"3N[_N"!O``0L;(`"3N[_-$SO`P``!$SO``,`#"QL@`).[O\HZ
- XM3.\#```$+&R``D[N_O@@;P`$+&R``D[N_LX@;P`$+&R``D[N_L@``````^P`A
- XM```!`````0``.+8````````#\@```^H```!)````````````````````````;
- XM``````````(````````"```````````````(``````#_____``$````!````*
- XM0````*,```"B````JP`*````!``(```@12````$!`````*T```!.````5@``>
- XM```@1B````$!``````$```!.````;@```%H````*`!``M0`!```!`@`"``,`W
- XM`````````````!`````````````0`%$`$`)```$``0$``#H`"@``````````*
- XM```````!`0``*@`4``````````````````$!```R`!X`````````````````2
- XM`0$```<``P`````````````````!`0``!P`#`````````````````!0`````L
- XM`````````^P````%`````0```&(```!F````>@```'X```""`````@``````Y
- X;``!.````H`````````/R```#ZP````$```/R'
- X``
- Xend
- Xsize 16812
- END_OF_FILE
- if test 23569 -ne `wc -c <'MM.uu'`; then
- echo shar: \"'MM.uu'\" unpacked with wrong size!
- fi
- # end of 'MM.uu'
- fi
- if test -f 'ReadMe2.2' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'ReadMe2.2'\"
- else
- echo shar: Extracting \"'ReadMe2.2'\" \(2254 characters\)
- sed "s/^X//" >'ReadMe2.2' <<'END_OF_FILE'
- XThis is MemMometer V2.2
- XPrevious versions of MemMometer were
- X V1.0 - Distributed to Peter Da Silva and Tom Rokicki, sent to Fred Fish
- X but was evidently not put on a Fish Disk. Problems with the program
- X were that it used the Delay(Arrgh) function for timing, that it had
- X an unrestricted menu selection for Slow-Fast memory that, with non-
- X existent memory, would result in a crash without prior warning.
- X Also, the codes for one, two, or three columns were separate, so it
- X was issued as three independently compiled programs.
- X V1.1 - Not Distributed. Delay() function replaced by VBLANK timer code
- X submitted to Usenet by Andy Finkel (a member of the CBM Amiga team).
- X V2.0 - Submitted to comp.sources/binaries.amiga but not circulated.
- X Menu item added for setting MemMometer's running priority. Requester
- X added to inform user that Slow-Fast memory selections in Warps mode
- X must be physically correct to avoid a system-fatal Guru 4 illegal
- X instruction exception trap due to non-existent memory.
- X V2.1 - Submitted to Fred Fish. Some changes to the 8 color workbench color
- X table to add the ability to recognize 0xffffffff checksums and to
- X conform more closely with CBM Workbench colors. Some corrections
- X to inaccuracies in the documentation. The requester also was fixed
- X to open with a link to the MemMometer window (titled "F") rather
- X than to an underlying dummy window titled "Mem Mometer". While it
- X renders the title somewhat more obscure, it limits the resource
- X request to one requester-sized window rather than two.
- X V2.2 - Menues changed to access 32-bit memory address range. Cold leaps
- X of Arctic faith are now met by the Warning Requester for any
- X request to change address range or address base for either the SF
- X or Fast memory menus in warps mode; this leaves no Tern unstoned.
- X Compiled with Aztec 3.6, should compile with Aztec 5.0 / 5.1 as well.
- X Howard Hull
- X hull@ncar.edu
- X
- END_OF_FILE
- if test 2254 -ne `wc -c <'ReadMe2.2'`; then
- echo shar: \"'ReadMe2.2'\" unpacked with wrong size!
- fi
- # end of 'ReadMe2.2'
- fi
- if test -f 'ReadMe2.2.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'ReadMe2.2.uu'\"
- else
- echo shar: Extracting \"'ReadMe2.2.uu'\" \(706 characters\)
- sed "s/^X//" >'ReadMe2.2.uu' <<'END_OF_FILE'
- Xbegin 644 ReadMe2.2.info
- XMXQ```0``````]@`9`"@`%``$``,``0`BHS``````````````````````````\
- XM````!"$`(?&``````````/(````.```````````````````````H`!0``P`"X
- XM@T#_```````````````____,```_J__/```_5__/P``@K__/\``P7__````_!
- XM___P```_`$@`?``______``X!`#`?``______``Y`(``?``______``X$`!`.
- XM?``______``______``___X`?``______``______`````````#____\``#`-
- XM```S``#````PP`#`4``P,`#*H``P#`#`0``__P#````/_P#``````P#`````(
- XM`P#``````P#``````P#``````P#``````P#``````P#``````P#``````P#`8
- XM`````P#``````P#``````P#______P#____\``#````S``#`*``PP`#````PX
- XM,`#*H``P#`#%0``__P#``````P#``````P#``````P#``````P#``````P#`H
- XM`````P#``````P#``````P#``````P#``````P#``````P#``````P#`````5
- X8`P#______P`````,.F,O375C:$UO<F4`V
- X``
- Xend
- Xsize 474
- END_OF_FILE
- if test 706 -ne `wc -c <'ReadMe2.2.uu'`; then
- echo shar: \"'ReadMe2.2.uu'\" unpacked with wrong size!
- fi
- # end of 'ReadMe2.2.uu'
- fi
- if test -f 'makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'makefile'\"
- else
- echo shar: Extracting \"'makefile'\" \(119 characters\)
- sed "s/^X//" >'makefile' <<'END_OF_FILE'
- XMM: mm.o mminit.o
- X ln mm.o mminit.o -lc -o MM
- X
- Xmm.o: mm.h mm.c
- X cc mm.c
- X
- Xmminit.o: mm.h mminit.c
- X cc mminit.c
- END_OF_FILE
- if test 119 -ne `wc -c <'makefile'`; then
- echo shar: \"'makefile'\" unpacked with wrong size!
- fi
- # end of 'makefile'
- fi
- if test -f 'mm.doc' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'mm.doc'\"
- else
- echo shar: Extracting \"'mm.doc'\" \(20804 characters\)
- sed "s/^X//" >'mm.doc' <<'END_OF_FILE'
- X/*
- X * Information for MM Version 2.20, 19-May-1991
- X *
- X * MemMometer - A program hacked from Tom Rokicki's WFrags more or less...
- X * (in fact, a heck of a lot) in the style of Peter Da Silva's "Gauge."
- X * The program opens a narrow window with the same dimensions as the disk
- X * capacity gadget found in the top-level workbench window for an Amiga
- X * DOS v1.3 floppy volume. The sizing gadget is like the one in Gauge;
- X * to resize the window, just click the left mouse button over the "E".
- X * The "F" is the program title in this rather short manifestation of
- X * an Amiga Intuition window drag bar.
- X *
- X * My bin copy of Gauge broke when I put a Michigan Insider in my A1000.
- X * I did not have source for the Gauge program, so I conjured this one.
- X * To my chagrin, MM 1.0 broke when I got a 2000 (more on that shortly),
- X * the Amiga 3000 blew away the previous version of this program, too,
- X * of course. But that's the way it is with hardware-oriented software
- X * hacks! :-| Changes with this version involve reconstruction of the
- X * fast ram address menus to accomodate the A3000's 32-bit address space
- X * for fast ram at 7000000 to 7FFFFFF hex. Please note that Amiga DOS
- X * allocates this space in heap fashion (autoconfiguring memory in
- X * successively lower addresses starting from the top, while utilizing
- X * it within each zone in the usual fashion from the bottom up). The
- X * following table describes how to set MM for various Amiga 3000 memory
- X * configurations:
- X * Fast Ram Size Base Address
- X * 1 Meg 7f00000
- X * 2 Meg 7e00000
- X * 3 Meg 7d00000
- X * 4 Meg 7c00000
- X * 6 Meg 7a00000
- X * 8 Meg 7800000
- X * 10 Meg 7600000
- X * 12 Meg 7400000
- X * 14 Meg 7200000
- X * 16 Meg 7000000
- X *
- X * MemMometer may be started from an icon, a CLI, or the Run command
- X * from a CLI. MM uses dynamic allocation for its display data, and
- X * does its own resource tracking. MM will surrender any resources
- X * which it has successfully obtained from allocation requests if,
- X * while MM is running, requested resources are denied. This type
- X * of fault (exit code 20) proceeds silently, and without prior notice.
- X *
- X * Now for a run through MemMometer's menu mechanics. MemMometer opens
- X * with a non-interlaced-screen-height narrow window at the left side of
- X * the Workbench screen. The window width is the same as the width of the
- X * capacity gauge which Workbench used to render at the left side of the
- X * v1.3 top level window for a floppy volume. As with Peter Da Silva's
- X * original gauge program, the MemMometer has an E at the bottom of the
- X * window, and an F at the top.
- X *
- X * The E and the F are respectively, the window sizing gadget, and the
- X * window titlebar. While MemMometer can and does automatically arrange
- X * the window to suit the memory configuration, it depends on the user to
- X * select appropriate memory size and address values via the menus. The
- X * menu style is the usual Amiga Intuition menu set; selection is achieved
- X * by clicking the left mouse button while the mouse pointer is anywhere
- X * within the program's window boundary, and then activating the menu bar
- X * by holding down the right mouse button and sliding the mouse pointer
- X * along the Workbench screen title bar at the top of the Workbench screen.
- X *
- X * At the left side of the Workbench screen title is the Project Menu. The
- X * Project Menu has three options. The first option is "Front", which is a
- X * window-to-front command for the event that the MM window was partially
- X * buried by the opening of new windows after MM was invoked. If the
- X * right mouse button is released while the mouse pointer is directly over
- X * the Front menu item, the MM window will oblige by popping forward to an
- X * unobstructed view. The second menu option is the "Back" item, which
- X * will move the MM window back behind any other windows that have been
- X * opened on the Workbench screen (with exception of a backdrop window).
- X * The third Project menu option is the "Quit" option, which directs MM to
- X * close its window and release the AmigaDOS resources it has allocated.
- X * The normal return code is zero.
- X *
- X * The second Intuition menu is the Setup menu. There are two Setup menu
- X * items. The first item is the "Mode" item. MM has two modes, and they
- X * are selected by sliding the mouse pointer straight down from the screen
- X * title bar over the Mode item , and then moving the pointer to the right
- X * as the mode submenu is activated. The activated submenu provides two
- X * choices, "Frags" and "Warps". Frags are rather much the same as they
- X * were in Da Silva's gauge program. "Frags" is the default menu selection
- X * with which MM is first initialized. The Frags display is described in
- X * the following table:
- X *
- X * 2-Color Workbench 4-Color Workbench 8-Color Workbench
- X * Unallocated Blue Black Black
- X * Allocated White Orange Yellow
- X * Fragmented Blue Blue Blue
- X *
- X * Unallocated memory is free memory available to programs. The programs
- X * may obtain this memory from AmigaDOS through allocation requests. The
- X * Allocated memory is memory assigned to programs running under AmigaDOS.
- X * Fragmented memory consists of interleaved small memhunks, some of which
- X * are assigned to programs and some of which are in the free memory pool.
- X * The smallest fragments are 8 bytes, and the largest memhunks may be more
- X * than a megabyte. The fragmented class is assigned when, in making the
- X * MM window display, a single horizontal pixel line was found to represent
- X * both allocated and unallocated memhunks. For this reason, for a full
- X * window height MemMometer, the resolution of the fragmentation is shown
- X * in more detail on interlaced Amiga Workbench screens.
- X *
- X * The second mode item selection is the "Warps" mode. While the Frags
- X * mode is usually utilized as a low-priority background indicator, the
- X * Warps mode is usually utilized at a somewhat higher priority for the
- X * purpose of tracking bugs and system irregularities. In this context,
- X * I define warps as a form of discretized sample-to-sample differencing
- X * function for some arbitrary segment of memory. Warps are determined by
- X * dividing the selected address space evenly among the MemMometer display
- X * pixels, computing an assignment checkfunction for each pixel line of the
- X * display on the associated assigned memory space at some sample time, and
- X * then, while retaining the previous pixel-by-pixel record, repeating the
- X * same evaluation the second sample time and comparing the sequentially
- X * determined checksums. A "checksum" is computed by means of a sequential
- X * bit-wise eXclusive OR assignment. This type of checksum can readily
- X * detect zeroed or changed values. In the table below, logical FALSE is
- X * zero, logical TRUE is taken as 0xffffffff and VALUE is anything else.
- X * Colors indicate the type of change. Colors for the most part follow
- X * the v1.3 standard CBM workbench color set; they're shown as follows:
- X *
- X * Pen # Color Pen # Color
- X * 0 Blue 4 Green
- X * 1 White 5 Red
- X * 2 Black 6 Cyan
- X * 3 Orange 7 Yellow
- X *
- X * These colors are used to map the changes in memory content from sample
- X * to sample as programs multitask together:
- X *
- X * Condition 2-Color Workbench 4-Color Workbench 8-Color Workbench
- X *
- X * VALUE ===> VALUE Blue Blue Blue
- X * VALUE =/=> VALUE White Orange Orange
- X * FALSE ===> FALSE Blue Black Black
- X * FALSE ---> VALUE White Orange Yellow
- X * VALUE ---> FALSE White White Red
- X * TRUE ---> FALSE Blue Black Cyan
- X * TRUE ---> VALUE Blue Black Cyan
- X * TRUE ===> TRUE Blue Blue Green
- X * FALSE ---> TRUE Blue Blue Green
- X * VALUE ---> TRUE Blue Blue Green
- X *
- X * The second Setup menu item is a Frequency selection submenu. While the
- X * selected value does set a minimum frequency with which the memory state
- X * will be examined, it's done by introducing a delay between measurements.
- X * The introduced delay will be equal in seconds to the value selected in
- X * the submenu. The delay is accomplished by the AmigaDOS timer.device
- X * using the VBLANK mode. It was not thought worth the difficulty to make
- X * the timing as precise as would be possible using the cia.resource, as
- X * that might make the resource less useful to other programs, and as well
- X * would mean extra effort adjusting for memory size-dependent scan times
- X * from the various memory sizes selectable with the MM program. Delay
- X * intervals of 1, 2, 5, and 10 seconds are available.
- X *
- X * The third Intuition menu is a Priority menu. This menu applies only to
- X * the MemMometer program and its associated CLI process. Initially it is
- X * at priority 0 with the expectation that the user will set it lower once
- X * the program is running, in order to give more time to the other active
- X * processes the user will be running. A value of -50 is recommended. In
- X * the event the Priority of MM is changed via the menu, the CLI inherits
- X * MemMometer's new priority and retains that priority even after MM quits.
- X * Thus, with extreme priority settings, it may be better to "Run MM" to
- X * keep from passing the extreme priority to subsequent processes spawned
- X * from the CLI that was used to invoke MemMometer. Also, go easy with the
- X * positive priorities; remember that with AmigaDOS version 2.0 the DOS
- X * input.device runs priority 20, the SCSI bus handler is 12, SCSI.device
- X * is 11, FileSystem is priority 10, and the CON: and trackdisk.device
- X * are priority 5 usually. Note that the first three MemMometer menu
- X * items are used to increment or decrement a priority selected in the
- X * lower part of the menu. Selection of the "NORM" menu item removes any
- X * increment or decrement previously set while at any given level.
- X *
- X * The remaining Intuition menu selections are provided so that the range
- X * and base address of the memory examined may be adjusted for the user's
- X * Amiga memory configuration. Note that the base address must always be
- X * set to the correct base address for the given memory configuration in
- X * order for the Frags option to work properly, but that the range may be
- X * adjusted to give a better resolution for the first segments around the
- X * base address, if desired. Menus are provided for Chip memory, the old
- X * Slow-Fast (C00000/Ranger) memory, and Fast memory. While I have had no
- X * difficulty as a result of selecting a range of memory that involved a
- X * non-existent seqment for Chip or Fast memory in either Frags or Warps
- X * mode, when I selected non-existent SFMemory on my Fat Agnus Amiga 2000
- X * in Warps mode, it resulted in a total system-wide red Guru 4 (illegal
- X * instruction exception).
- X *
- X * After that, I decided to post a requester for the user to issue terse
- X * warning that a crash is _possible_ with incorrectly specified menu
- X * selections in warps mode. Since it is possible, for example, to roll
- X * over on 24-bit addresses via large memory size menu selections, one
- X * can access forbidden zones through inappropriate settings of the Fast
- X * Mem menus as well. Thus MM also calls the requester if the Fast Mem
- X * size menu is changed. The requester displays the message:
- X *
- X * WARNING! CRASH POSSIBLE
- X * MENU MEMORY SELECTIONS MUST
- X * REFERENCE EXISTING MEMORY
- X *
- X * Risk It Retreat
- X *
- X * You don't have to worry about a crash if you really have an amount of
- X * SF or Fast memory equal or greater than the amount you specified and
- X * the base address is within what you specified (the default base address
- X * for SF Mem is C00000 and 200000 for A2000 Fast Mem). Too bad I have to
- X * do this, but it is a matter the hardware regards seriously, as some
- X * registers do things when they are read, never mind what they do when
- X * they are written! If you really want to be annoyed, just get Bryce
- X * Nesbitt's Enforcer program. It will yap at you through the serial port
- X * every time any program (such as this one) reads the zero page...
- X *
- X * So, here you see the two options. The left button says - Risk It -.
- X * That's a comfortable gamble if you know your Fast memory configuration.
- X * Pre Fat-Agnus Amiga 2000 machines have 512K of Slow-Fast memory. The
- X * Newer 2000s have no C00000 Slow Fast memory, and the A3000 only has the
- X * 200000 ZorroII 16-bit Fast Memory if you added a Mem card - so beware
- X * of this and try the other settings when you have nothing else going on,
- X * until you gain a knowledge of what is safe. The - Retreat - option sets
- X * the SF or Fast Memory Size selected internal to the MemMometer program
- X * to zero and clears the display. (It does leave the menu items checked,
- X * though, so you will have to remember to re-select suitable menu values
- X * in order to get the display to show something in each existing memory
- X * type. For Chip and Fast memory this will simply entail going back into
- X * the menu and again selecting whatever was previously checked. The SF
- X * memory size should be set either to appropriate values or to "NONE".)
- X *
- X * Note that in the display there may at any time be anywhere from one
- X * to three MemMometers - for Chip (left-hand column), another for the
- X * Slow Fast mem (center column) and yet another for Fast mem (right-hand
- X * column). These MemMometers can be turned on or off as desired by
- X * selecting "NONE" or the various items in the Size menus.
- X *
- X * Parts of several freely distributable programs have been used to make
- X * MemMometer. Menus, for instance, are done in the style VT100 (Wecker,
- X * et al). As with the VT100 program, MemMometer has preset variables.
- X * However, the program does not yet contain a script file reader or an
- X * AREXX interface with which to automatically set the variables. Likely
- X * it is that I'll write the code for that some time this century!
- X *
- X * MemMometer uses forbid() and permit() when it examines the mem list in
- X * Frags mode. I suppose it is possible with large amounts of memory to
- X * scan, that some gross treachery can happen while the list is locked.
- X * However, with my 4 meg Amiga 3000 I've not seen it. It takes a while
- X * after startup to settle out and display the large byte counts associated
- X * with Fast mem, so be patient... MemMometer is most useful for finding
- X * out why large programs won't load. It's also useful in development for
- X * seeing the impact your application is having on memory fragmentation,
- X * or how various programs (and viruses, for that matter) are allocating
- X * memory.
- X *
- X * The Warps mode displays any change it sees in memory from one sample
- X * to the next; BUT this mode only works sensibly when JUST ONE memory size
- X * selection is active (set others to "NONE"). The memory space is scanned
- X * asynchronously, so it can have sample alias difficulties. However, the
- X * Warps mode does not use forbid(), permit(), enable(), disable(), or any
- X * other constrictive system call. It just does a lot of read-only memory
- X * cycles and writes the result in its own dynamically allocated memory
- X * space.
- X *
- X * To run MemMometer, simply type
- X *
- X * run MM
- X *
- X * or click on the icon.
- X *
- X * Then open the menu item selections and set them for your configuration.
- X * Frags mode, and 512K of CHIP @0 is the default these days, what with
- X * hugh variety of configurations routinely encountered. The modes are
- X * are color coded into the "F" and "E" indicators in accordance with the
- X * AmigaDOS v1.3 color table; AmigaDOS v2.0 looks pale by comparison:
- X *
- X * Mode Indicator 2 color WB 4 Color WB 8 Color WB
- X *
- X * Frags E Blue Blue Blue
- X * Warps E White Orange Yellow
- X *
- X * One column:
- X * Chip F Blue Blue Blue
- X * Slow-Fast F Blue Black Cyan
- X * Fast F White Orange Yellow
- X *
- X * Two columns:
- X * Chip +SF F Blue Blue Blue
- X * Chip +Fast F Blue Black Cyan
- X * SF + Fast F White Orange Yellow
- X *
- X * Three columns:
- X * C + SF + Fast F Blue Blue Blue
- X * None F White Orange Orange
- X *
- X * The source code included with this distribution was compiled with the
- X * Manx Aztec C compiler, version 3.6a in 16-bit integer mode. Numerous
- X * type casts in the code, as well as other non-alignments with the Lattice
- X * environment would make compilation under versions of Lattice difficult.
- X * Sorry. Compilation instructions are of course in the makefile included
- X * in the distribution.
- X *
- X * About my part of C code - it wasn't done for speed, as I am sure you can
- X * tell. If I wanted speed I would have used assembly language. It also
- X * likely isn't elegant code, by a long shot (unless it's the part I got
- X * from Rokicki's WFrags). But assembly language is time-consuming to
- X * write, so that won't happen any time soon. Maybe the next thing will be
- X * the AREXX port - so that other programs can specify a low address and a
- X * byte count range for one of the MemMometers to display (say, within the
- X * specified menu selection span). Gross comments about the code or bug
- X * reports may be e-mailed to me at the site domain specified below.
- X *
- X * About everyone else's C code in MM - Let's see, VT100 (Wecker et al) has
- X * been freely distributable since the early days of the Amiga. When VT100
- X * was first posted, Wecker did not prepend a copyright to the code. He
- X * later discovered that his employer (DEC) routinely required employees to
- X * sign a contract statement which granted to DEC all rights with respect
- X * to codes written by DEC employees, whether the codes were written on the
- X * company's time/facilities or otherwise. I do not know how the matter
- X * was resolved, but VT100 still seems to be on the freely distributable
- X * software list. The menus in MM, while styled with the same code forms
- X * as were used with VT100 v2.3, are of course different in content in any
- X * case. The WFrags program was, I believe, a version by Tom Rokicki (the
- X * Amiga Tex guy) might be evolved from the Frags program originally put
- X * to the net by Mike Meyer. WFrags was submitted to the net without a
- X * prepended copyright notice, evidently intended as freely distributable
- X * software.
- X *
- X * The spirit of these contributions is that they are not to be used for
- X * commercial purposes, and the original authors certainly appreciate
- X * being cited for their work. So I just did that. The timer codes are
- X * exerpted from a network article by Andy Finkel of CBM, submitted as a
- X * demonstration of the ease of implementing the Amiga timer.device in C.
- X *
- X * So, for my part, I add no further restrictions to the codes in MM.
- X * In that spirit, I hereby submit the following Standard Disclaimer:
- X *
- X * The authors accept no responsibility for anything either beneficial or
- X * detrimental that may happen as a result of using the codes in MM. The
- X * codes are intended for non-commercial use only.
- X *
- X *
- X * Howard Hull hull@ncar.edu
- X *
- X */
- END_OF_FILE
- if test 20804 -ne `wc -c <'mm.doc'`; then
- echo shar: \"'mm.doc'\" unpacked with wrong size!
- fi
- # end of 'mm.doc'
- fi
- if test -f 'mm.doc.info.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'mm.doc.info.uu'\"
- else
- echo shar: Extracting \"'mm.doc.info.uu'\" \(3641 characters\)
- sed "s/^X//" >'mm.doc.info.uu' <<'END_OF_FILE'
- Xbegin 644 mm.doc.info
- XMXQ```0``````=P`/`&(`'0`&``,``0?&\S@'QO.(````````````````````#
- XM```!!)X'Q;D8`````````',````$``````````````````````!B`!T``P`"[
- XM3/C_`````````````````````````````````$5555550```````````15_55
- XM555```````````!%5M55544``````````$569]?51P``````````159G9V5'3
- XM``````````!%5F9F14<``````````$56QF9U1P``````````15_'Q\5'````T
- XM``````!%5!4%!4<``````````$5555551P``````````1?UU=55'````````G
- XM``!%S%%Q54<``````````$7$=7%]1P``````````1?5Q<<U'``````````!%7
- XMP7%Q_$<``````````$7%<7'`1P``````````1>5Y>7U'``````````!%!4%!%
- XM04<``````````$5555551P``````````1555555'``````````!%555554<`H
- XM`````````$5555551P``````````15550`%'``````````!%555554<`````W
- XM````````````!P``````````+_______```````````55555554`````````O
- XM```````````````````!_______X``````````'_______@``````````?_P8
- XM?____\`````````!__D_____P`````````'_^9P\/_O``````````?_YF9F?&
- XM^\`````````!__F9F?_[P`````````'_^3F9G_O``````````?_P?#P_^\``G
- XM```````!_______[P`````````'_______O``````````?X#SX__^\``````(
- XM```!_S/_S__[P`````````'_/X_/A_O``````````?\/S\\S^\`````````!V
- XM_S_/SP/[P`````````'_/\_//_O``````````?X?AX>#^\`````````!____9
- XM___[P`````````'_______O``````````?______^\`````````!_______[>
- XMP`````````'_______O``````````?______^\`````````!_______[P```E
- XM``````'_______O``````````?@``````\``````````________P```````M
- XM``!________`````````````````````````````````````````````````Z
- XM#X`````````````````&P`````````````````9CP\``````````````!F9F3
- XM8``````````````&9F8```````````````;&9F``````````````#X/#P```9
- XM```````````````````````````````````````````````!_#!P````````=
- XM``````#,`#```````````````,!P,'@`````````````\#`PS```````````P
- XM``#`,##\`````````````,`P,,`````````````!X'AX?```````````````)
- XM`````````````````````````````````````````````````````````````
- XM```````````````````````````````````?_@``````````````````````=
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````&(`'0`#``)1P/\`````````````````````````4
- XM*JJJJJJH!5555555```W______Z_______L``#?______K^_P```"P``-___^
- XM___^O__``"`+```WZJJJJN`#J\````L``#?______K__P4$""P``-______^,
- XMOZO`X8N+```W______Z__\+PP>L``#?55555?K^KQ/-)ZP``-______^O__!\
- XM;G/K```W555557Z_J\JL@"L``#?______K__U5552P``-U55555^OZO````+7
- XM```W_____^`#______L``#=55555?K^K_U5_^P``-______^O______[```WL
- XMU55557Z_JJJJJKL``#?______K______^P``-U55555^OZJJJJJ[```W____Z
- XM__Z_______L``#=55555?K^JJJJJNP``-______^O______[```W_____^`#;
- XM______L``#?__U___K___K__^P``-______^O______[```P``````"`````4
- XM``,``"JJJJJJJ`55555550````````````````````#_______X?_______`^
- XM`/_______________\``^``````!P``````'P`#X``````'`0#____?``/@`9
- XM`````<``(```%\``^``````?_%0@```7P`#X``````'``""``!?``/@`````^
- XM`<!4(R($%\``^``````!P``O][X7P`#X*JJJJH'`5#___Y?``/@``````<``K
- XM/7__]\``^*JJJJJ!P%0X!_^WP`#X``````'``#```!?``/BJJJJJ@<!4/___.
- XM]\``^``````?_``````'P`#XJJJJJH'`5`"J@`?``/@``````<``````!\``W
- XM^"JJJJJ!P%55555'P`#X``````'```````?``/BJJJJJ@<!555551\``^```P
- XM```!P``````'P`#XJJJJJH'`555554?``/@``````<``````!\``^``````?;
- XM_``````'P`#X``"@``'```%```?``/@``````<``````!\``____________;
- XM____P`#________________``/_______A_______\``````````````````$
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM````````````````````````````````````````````(0"`````````````A
- XM``/$(2``````````````!_A_P``````````````/___@````````````````S
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM``````````````````````````````````````````````````PZ8R]-=6-HE
- X%36]R90``3
- X``
- Xend
- Xsize 2570
- END_OF_FILE
- if test 3641 -ne `wc -c <'mm.doc.info.uu'`; then
- echo shar: \"'mm.doc.info.uu'\" unpacked with wrong size!
- fi
- # end of 'mm.doc.info.uu'
- fi
- if test -f 'mm.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'mm.h'\"
- else
- echo shar: Extracting \"'mm.h'\" \(757 characters\)
- sed "s/^X//" >'mm.h' <<'END_OF_FILE'
- X/* : ai=0 bk=0 ts=8 */
- X#include <intuition/intuition.h>
- X#include <intuition/intuitionbase.h>
- X#include <graphics/gfx.h>
- X#include <graphics/gfxbase.h>
- X#include <exec/exec.h>
- X#include <exec/execbase.h>
- X#include <functions.h>
- X
- X/* standard and suggested Workbench pen colors */
- X
- X#define BLUP 0L /* CBM Workbench medium (IBM) blue */
- X#define WHTP 1L /* CBM Workbench pure white */
- X#define BLKP 2L /* CBM Workbench black with elevated blue */
- X#define ORNP 3L /* CBM Workbench orange */
- X#define GRNP 4L /* CBM Workbench pure blue */
- X#define REDP 5L /* CBM Workbench magenta */
- X#define CYNP 6L /* CBM Workbench cyan */
- X#define YELP 7L /* CBM Workbench duplicates white here */
- X
- Xextern struct Window *window ;
- X
- END_OF_FILE
- if test 757 -ne `wc -c <'mm.h'`; then
- echo shar: \"'mm.h'\" unpacked with wrong size!
- fi
- # end of 'mm.h'
- fi
- echo shar: End of archive 1 \(of 2\).
- cp /dev/null ark1isdone
- MISSING=""
- for I in 1 2 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked both archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
- --
- Mail submissions (sources or binaries) to <amiga@uunet.uu.net>.
- Mail comments to the moderator at <amiga-request@uunet.uu.net>.
- Post requests for sources, and general discussion to comp.sys.amiga.misc.
-